package com.ktgj.customer.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 退续费订单对象 business_refund
 * 
 * @author ruoyi
 * @date 2021-09-15
 */
public class BusinessRefund extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键自增 */
    private Long refundId;
    private String refundCode;

    /** 会员编号 */
    @Excel(name = "会员编号")
    private Long customerId;

    /** 会员承担保费金额(扣会员保费) */
    @Excel(name = "会员承担保费金额(扣会员保费)")
    private BigDecimal penaltguaranteemoney;

    /** 员工承担保费金额 */
    @Excel(name = "员工承担保费金额")
    private BigDecimal employeeguaranteemoney;

    /** 合作厅使用次数 */
    @Excel(name = "合作厅使用次数")
    private Long partnerviphallnum;

    /** 安检使用次数 */
    @Excel(name = "安检使用次数")
    private Long vipchannelnum;

    /** 促销活动费用 */
    @Excel(name = "促销活动费用")
    private BigDecimal salesmoney;

    /** 退款完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finishTime;

    /** t_mc_cardpayrecords.CARDPAYID  , t_mc_business_order_sub.order_sub_id */
    @Excel(name = "t_mc_cardpayrecords.CARDPAYID  , t_mc_business_order_sub.order_sub_id")
    private Long orderSubId;

    /** 退款方式；0-未知；1-原路返回；2-全部退预留款 */
    @Excel(name = "退款方式；0-未知；1-原路返回；2-全部退预留款")
    private String refundWay;

    /** 退续费年限 */
    @Excel(name = "退续费年限")
    private Long refundYear;

    /** 折旧费 */
    @Excel(name = "折旧费")
    private BigDecimal depreciationPrice;

    /** 实退金额（预留库+在线支付） */
    @Excel(name = "实退金额", readConverterExp = "预=留库+在线支付")
    private BigDecimal refundPrice;

    /** 退预留款 */
    @Excel(name = "退预留款")
    private BigDecimal refundReserved;

    /** 退积分折现 */
    @Excel(name = "退积分折现")
    private BigDecimal refundScoreExchange;

    /** 退积分 */
    @Excel(name = "退积分")
    private BigDecimal refundScore;

    /** 删除时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "删除时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deleteTime;

    /** 退款状态  未知=-1,未申请退款=0,退款申请中=12, 退款审核 = 13,退款审核成功 = 14, 退款审核失败= 15, 取消退续费 = 20,退款成功 = 30;退款支付状态 0 -退款中（预留款锁定中）；1-退款成功（预留款解锁审核通过）；2-退款失败（预留款解锁失败） */
    @Excel(name = "退款状态  未知=-1,未申请退款=0,退款申请中=12, 退款审核 = 13,退款审核成功 = 14, 退款审核失败= 15, 取消退续费 = 20,退款成功 = 30;退款支付状态 0 -退款中", readConverterExp = "预=留款锁定中")
    private String refundState;

    /** 操作员工id */
    @Excel(name = "操作员工id")
    private Long employeeId;

    /** 银行卡号持卡人 */
    @Excel(name = "银行卡号持卡人")
    private String bankcardHolder;

    /** 银行卡号 */
    @Excel(name = "银行卡号")
    private String bankcardId;

    /** 银行卡开户地 */
    @Excel(name = "银行卡开户地")
    private String bankcardOpenCity;

    /** 退款银行 */
    @Excel(name = "退款银行")
    private String refundBank;

    /** 退款方式类型;  1-预留款；0-线下打款 */
    @Excel(name = "退款方式类型;  1-预留款；0-线下打款")
    private String payType;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 来源；60 -金色crm ;120-销售系统 */
    @Excel(name = "来源；60 -金色crm ;120-销售系统")
    private Long sourceway;

    public void setRefundId(Long refundId)
    {
        this.refundId = refundId;
    }

    public Long getRefundId() 
    {
        return refundId;
    }

    public String getRefundCode() {
        return refundCode;
    }

    public void setRefundCode(String refundCode) {
        this.refundCode = refundCode;
    }

    public void setCustomerId(Long customerId)
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setPenaltguaranteemoney(BigDecimal penaltguaranteemoney) 
    {
        this.penaltguaranteemoney = penaltguaranteemoney;
    }

    public BigDecimal getPenaltguaranteemoney() 
    {
        return penaltguaranteemoney;
    }
    public void setEmployeeguaranteemoney(BigDecimal employeeguaranteemoney) 
    {
        this.employeeguaranteemoney = employeeguaranteemoney;
    }

    public BigDecimal getEmployeeguaranteemoney() 
    {
        return employeeguaranteemoney;
    }
    public void setPartnerviphallnum(Long partnerviphallnum) 
    {
        this.partnerviphallnum = partnerviphallnum;
    }

    public Long getPartnerviphallnum() 
    {
        return partnerviphallnum;
    }
    public void setVipchannelnum(Long vipchannelnum) 
    {
        this.vipchannelnum = vipchannelnum;
    }

    public Long getVipchannelnum() 
    {
        return vipchannelnum;
    }
    public void setSalesmoney(BigDecimal salesmoney) 
    {
        this.salesmoney = salesmoney;
    }

    public BigDecimal getSalesmoney() 
    {
        return salesmoney;
    }
    public void setFinishTime(Date finishTime) 
    {
        this.finishTime = finishTime;
    }

    public Date getFinishTime() 
    {
        return finishTime;
    }
    public void setOrderSubId(Long orderSubId) 
    {
        this.orderSubId = orderSubId;
    }

    public Long getOrderSubId() 
    {
        return orderSubId;
    }
    public void setRefundWay(String refundWay) 
    {
        this.refundWay = refundWay;
    }

    public String getRefundWay() 
    {
        return refundWay;
    }
    public void setRefundYear(Long refundYear) 
    {
        this.refundYear = refundYear;
    }

    public Long getRefundYear() 
    {
        return refundYear;
    }
    public void setDepreciationPrice(BigDecimal depreciationPrice) 
    {
        this.depreciationPrice = depreciationPrice;
    }

    public BigDecimal getDepreciationPrice()
    {
        return depreciationPrice;
    }
    public void setRefundPrice(BigDecimal refundPrice)
    {
        this.refundPrice = refundPrice;
    }

    public BigDecimal getRefundPrice()
    {
        return refundPrice;
    }
    public void setRefundReserved(BigDecimal refundReserved)
    {
        this.refundReserved = refundReserved;
    }

    public BigDecimal getRefundReserved()
    {
        return refundReserved;
    }
    public void setRefundScoreExchange(BigDecimal refundScoreExchange)
    {
        this.refundScoreExchange = refundScoreExchange;
    }

    public BigDecimal getRefundScoreExchange()
    {
        return refundScoreExchange;
    }
    public void setRefundScore(BigDecimal refundScore)
    {
        this.refundScore = refundScore;
    }

    public BigDecimal getRefundScore()
    {
        return refundScore;
    }
    public void setDeleteTime(Date deleteTime)
    {
        this.deleteTime = deleteTime;
    }

    public Date getDeleteTime()
    {
        return deleteTime;
    }
    public void setRefundState(String refundState)
    {
        this.refundState = refundState;
    }

    public String getRefundState()
    {
        return refundState;
    }
    public void setEmployeeId(Long employeeId)
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId()
    {
        return employeeId;
    }
    public void setBankcardHolder(String bankcardHolder)
    {
        this.bankcardHolder = bankcardHolder;
    }

    public String getBankcardHolder()
    {
        return bankcardHolder;
    }
    public void setBankcardId(String bankcardId)
    {
        this.bankcardId = bankcardId;
    }

    public String getBankcardId()
    {
        return bankcardId;
    }
    public void setBankcardOpenCity(String bankcardOpenCity)
    {
        this.bankcardOpenCity = bankcardOpenCity;
    }

    public String getBankcardOpenCity()
    {
        return bankcardOpenCity;
    }
    public void setRefundBank(String refundBank)
    {
        this.refundBank = refundBank;
    }

    public String getRefundBank()
    {
        return refundBank;
    }
    public void setPayType(String payType)
    {
        this.payType = payType;
    }

    public String getPayType() 
    {
        return payType;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setSourceway(Long sourceway)
    {
        this.sourceway = sourceway;
    }

    public Long getSourceway()
    {
        return sourceway;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("refundId", getRefundId())
                .append("customerId", getCustomerId())
                .append("penaltguaranteemoney", getPenaltguaranteemoney())
                .append("employeeguaranteemoney", getEmployeeguaranteemoney())
                .append("partnerviphallnum", getPartnerviphallnum())
                .append("vipchannelnum", getVipchannelnum())
                .append("salesmoney", getSalesmoney())
                .append("finishTime", getFinishTime())
                .append("orderSubId", getOrderSubId())
                .append("refundWay", getRefundWay())
                .append("refundYear", getRefundYear())
                .append("depreciationPrice", getDepreciationPrice())
                .append("refundPrice", getRefundPrice())
                .append("refundReserved", getRefundReserved())
                .append("refundScoreExchange", getRefundScoreExchange())
                .append("refundScore", getRefundScore())
                .append("remark", getRemark())
                .append("updateTime", getUpdateTime())
                .append("createTime", getCreateTime())
                .append("deleteTime", getDeleteTime())
                .append("refundState", getRefundState())
                .append("employeeId", getEmployeeId())
                .append("bankcardHolder", getBankcardHolder())
                .append("bankcardId", getBankcardId())
                .append("bankcardOpenCity", getBankcardOpenCity())
                .append("refundBank", getRefundBank())
                .append("payType", getPayType())
                .append("payTime", getPayTime())
                .append("sourceway", getSourceway())
                .toString();
    }
}
